.za-progress {
  display: inline-block;
  position: relative;
}
.za-progress__outer {
  display: flex;
  align-items: center;
}

.za-progress__text {
  display: inline-block;
  margin-left: 5px;
  font-size: 14px;
}

.za-progress--line.za-progress--primary .za-progress__thumb {
  background-color: var(--theme-primary);
}

.za-progress--line.za-progress--success .za-progress__thumb {
  background-color: var(--theme-success);
}

.za-progress--line.za-progress--warning .za-progress__thumb {
  background-color: var(--theme-warning);
}

.za-progress--line.za-progress--danger .za-progress__thumb {
  background-color: var(--theme-danger);
}

.za-progress--line.za-progress--lg {
  width: var(--progress-width-lg);
}

.za-progress--line.za-progress--md {
  width: var(--progress-width-md);
}

.za-progress--line.za-progress--sm {
  width: var(--progress-width-sm);
}

.za-progress--line .za-progress__track {
  width: 100%;
  height: 100%;
  background: var(--progress-background);
  overflow: hidden;
}

.za-progress--line .za-progress__thumb {
  height: 100%;
  width: 0;
  transition: width 0.6s ease, background-color 0.6s ease;
}

.za-progress--circle {
  display: inline-block;
}
.za-progress--circle .za-progress__track {
  stroke: var(--progress-background);
  fill-opacity: 0;
}

.za-progress--circle .za-progress__thumb {
  fill-opacity: 0;
  transition: stroke-dashoffset 0.6s ease, stroke 0.6s ease;
}

.za-progress--circle.za-progress--primary .za-progress__thumb {
  stroke: var(--theme-primary);
}

.za-progress--circle.za-progress--success .za-progress__thumb {
  stroke: var(--theme-success);
}

.za-progress--circle.za-progress--warning .za-progress__thumb {
  stroke: var(--theme-warning);
}

.za-progress--circle.za-progress--danger .za-progress__thumb {
  stroke: var(--theme-danger);
}

.za-progress--circle svg {
  width: 100%;
  height: 100%;
}
.za-progress--circle .za-progress__text {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  margin: 0;
  text-align: center;
  line-height: 1;
  transform: translateY(-50%);
}

.za-progress--circle.za-progress--lg {
  width: var(--progress-size-lg);
  height: var(--progress-size-lg);
}
.za-progress--circle.za-progress--lg .za-progress__text {
  font-size: var(--progress-font-size-circle-lg);
}

.za-progress--circle.za-progress--md {
  width: var(--progress-size-md);
  height: var(--progress-size-md);
}
.za-progress--circle.za-progress--md .za-progress__text {
  font-size: var(--progress-font-size-circle-md);
}

.za-progress--circle.za-progress--sm {
  width: var(--progress-size-sm);
  height: var(--progress-size-sm);
}
.za-progress--circle.za-progress--sm .za-progress__text {
  font-size: var(--progress-font-size-circle-sm);
}

.za-progress--semi-circle {
  display: inline-block;
}
.za-progress--semi-circle .za-progress__track {
  stroke: var(--progress-background);
  fill-opacity: 0;
}

.za-progress--semi-circle .za-progress__thumb {
  fill-opacity: 0;
  transition: stroke-dashoffset 0.6s ease, stroke 0.6s ease;
}

.za-progress--semi-circle.za-progress--primary .za-progress__thumb {
  stroke: var(--theme-primary);
}

.za-progress--semi-circle.za-progress--success .za-progress__thumb {
  stroke: var(--theme-success);
}

.za-progress--semi-circle.za-progress--warning .za-progress__thumb {
  stroke: var(--theme-warning);
}

.za-progress--semi-circle.za-progress--danger .za-progress__thumb {
  stroke: var(--theme-danger);
}

.za-progress--semi-circle svg {
  width: 100%;
  height: 100%;
}
.za-progress--semi-circle .za-progress__text {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
  text-align: center;
  line-height: 1;
}

.za-progress--semi-circle.za-progress--lg {
  width: var(--progress-size-lg);
  height: calc(var(--progress-size-lg) / 2);
}
.za-progress--semi-circle.za-progress--lg .za-progress__text {
  font-size: var(--progress-font-size-circle-lg);
}

.za-progress--semi-circle.za-progress--md {
  width: var(--progress-size-md);
  height: calc(var(--progress-size-md) / 2);
}
.za-progress--semi-circle.za-progress--md .za-progress__text {
  font-size: var(--progress-font-size-circle-md);
}

.za-progress--semi-circle.za-progress--sm {
  width: var(--progress-size-sm);
  height: calc(var(--progress-size-sm) / 2);
}
.za-progress--semi-circle.za-progress--sm .za-progress__text {
  font-size: var(--progress-font-size-circle-sm);
}
